package com.zsl.swing.redis.desktop.demo;

import javax.swing.*;
import java.awt.*;
import java.nio.charset.StandardCharsets;
import java.util.Base64;

public class Base64ImgShowDemo {

    public static void main(String[] args) {
        // 创建一个 JFrame
        JFrame frame = new JFrame("Base64 Image Example");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 300);

        // 创建一个 JEditorPane 实例
        JEditorPane editorPane = new JEditorPane();
        editorPane.setContentType("text/html");

        // 设置 HTML 内容，包含 base64 编码的图片
        String htmlContent = "<html><body><h1>Base64 Image Example</h1>" +
                "<p>Below is a base64 encoded image:</p>" +
                "<img src=\"\">" +
                "</body></html>";
        editorPane.setText(htmlContent);

        // 将 JEditorPane 添加到 JFrame 中
        frame.getContentPane().add(new JScrollPane(editorPane), BorderLayout.CENTER);

        // 显示 JFrame
        frame.setVisible(true);
    }

    // 获取 base64 编码的图片数据
    private static String getBase64Image() {
        // 这里简单地使用一个示例 base64 编码的图片数据
        // 实际中你需要根据图片文件内容来获取 base64 编码字符串
        // 例如，可以使用 Base64 编码工具将图片文件转换为 base64 编码字符串
        byte[] imageData = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAO0lEQVR42mL8//8/Azpw3BIB3owcOHBhBQrjIMnDIgAAD2NVGGAAAAAElFTkSuQmCC".getBytes(StandardCharsets.UTF_8);
        return Base64.getEncoder().encodeToString(imageData);
    }
}
